package com.dayu.behavior.state;

/**
 * 状态模式：类的行为基于它自身的状态而改变
 * 日常生活中，不同时间的不同状态
 * 早上起来精神饱满，中文想睡觉，下午又渐渐恢复，晚上可能精神更旺也可能耗费体力只想睡觉，这一天中就对应着不同的状态
 */
public class StateTest {

    /**
     * 角色：
     * 1、Context类为环境角色，用于维护一个ConcreteState子类的实例，这个实例定义当前的状态；
     * 2、State为抽象状态角色，定义一个接口以封装与Context的一个特定接口状态相关的行为；
     * 3、ConcreteState是具体状态角色，每一个子类实现一个与Context的一个状态相关的行为。
     */
}
